import request from '@/utils/request';
import qs from 'qs';
import type { PageResult, ResponseData } from '../typing';
// 参数接口
// 参数接口
export interface CreateMedicalCaregiverServiceParams {
    /*项目code */
    projectCode: string;

    /*陪护类型 */
    typeId: number;

    /*是否线上付款，0否1是 */
    paymentOnline: number;

    /*是否显示，0否1是 */
    display: number;

    /*陪护 - 类型 */
    types: {
        /*类型主键，修改时需要传，否则会新增 */
        id?: Record<string, unknown>;

        /*类型名称 */
        name: string;

        /*金额 */
        price: number;
    }[];
}

// 响应接口
export interface CreateMedicalCaregiverServiceRes {
    /* */
    code: number;
    /* */
    data: number;
    /* */
    msg: string;
}

/**
 * 创建医疗-陪护管理
 * @param {object} params 管理后台 - 医疗-陪护管理创建 Request VO
 * @param {string} params.projectCode 项目code
 * @param {number} params.typeId 陪护类型
 * @param {number} params.paymentOnline 是否线上付款，0否1是
 * @param {number} params.display 是否显示，0否1是
 * @param {array} params.types 陪护 - 类型
 * @returns
 */
export function createMedicalCaregiverService(params: CreateMedicalCaregiverServiceParams): Promise<CreateMedicalCaregiverServiceRes> {
    return request.post(`/yfwy/medical-caregiver-service/create`, params);
}
// 响应接口
export interface GetMedicalCaregiverServiceRes {
    code: number;
    data: {
        // 主键 */
        id: number;
        // 项目code */
        projectCode: string;
        // 服务名称 */
        name: string;
        // 是否线上付款，0否1是 */
        paymentOnline: number;
        // 是否显示，0否1是 */
        display: number;
        serviceTypeDTOList: {
            // 类型主键，修改时需要传，否则会新增 */
            id: number;
            // 类型名称 */
            name: string;
            // 金额 */
            price: number;
        }[];
        advertisingImage: any;
    };
    msg: string;
}
/**
 * 获得医疗-陪护管理
 * @param {string} id
 * @returns
 */
export function getMedicalCaregiverService(id: number): Promise<GetMedicalCaregiverServiceRes> {
    return request.get(`/yfwy/medical-caregiver-service/get/${id}`);
}
// 响应接口
export interface GetMedicalCaregiverServicePageParams {
    projectCode: string[];
    current: number;
    size: number;
    name?: string;
}
export interface GetMedicalCaregiverServicePageRes {
    code: number;
    data: {
        size: number;
        total: number;
        current: number;
        records: {
            // 主键 */
            id: number;
            // 项目code */
            projectCode: string;
            // 服务名称 */
            name: string;
            // 宣传图片地址 */
            advertisingImage: string;
            // 服务类型 */
            serviceType: string;
            // 是否线上付款，0否1是 */
            paymentOnline: number;
            // 是否显示，0否1是 */
            display: number;
        }[];
        pages: number;
    };
    msg: string;
}
/**
 * 获得医疗-陪护管理分页
 * @param {string} projectCode 项目code
 * @param {string} name 服务名称
 * @param {string} current 当前第几页(默认1)
 * @param {string} size 每页条数(默认20)
 * @returns
 */
export function getMedicalCaregiverServicePage(params: GetMedicalCaregiverServicePageParams): Promise<GetMedicalCaregiverServicePageRes> {
    return request.post(`/yfwy/medical-caregiver-service/page`, params);
}
// 参数接口
export interface UpdateMedicalCaregiverServiceParams {
    /*项目code */
    projectCode: string;

    /*陪护类型 */
    typeId: number;

    /*是否线上付款，0否1是 */
    paymentOnline: number;

    /*是否显示，0否1是 */
    display: number;

    /*陪护 - 类型 */
    types: {
        /*类型主键，修改时需要传，否则会新增 */
        id?: Record<string, unknown>;

        /*类型名称 */
        name: string;

        /*金额 */
        price: number;
    }[];

    /*主键 */
    id: number;
}

// 响应接口
export interface UpdateMedicalCaregiverServiceRes {
    /* */
    code: number;

    /* */
    data: Record<string, unknown>;

    /* */
    msg: string;
}

/**
 * 更新医疗-陪护管理
 * @param {object} params 管理后台 - 医疗-陪护管理更新 Request VO
 * @param {string} params.projectCode 项目code
 * @param {number} params.typeId 陪护类型
 * @param {number} params.paymentOnline 是否线上付款，0否1是
 * @param {number} params.display 是否显示，0否1是
 * @param {array} params.types 陪护 - 类型
 * @param {number} params.id 主键
 * @returns
 */
export function updateMedicalCaregiverService(params: UpdateMedicalCaregiverServiceParams): Promise<UpdateMedicalCaregiverServiceRes> {
    return request.put(`/yfwy/medical-caregiver-service/update`, params);
}
